﻿namespace ApplicationBase.Core.Utils
{
    public class SnowflakeOptions
    {
        public virtual short Method { get; set; } = 1;
        public virtual DateTime BaseTime { get; set; } = new DateTime(2023, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);

        public virtual ushort WorkerId { get; set; } = 0;
        public virtual byte WorkerIdBitLength { get; set; } = 6;

        public virtual byte SeqBitLength { get; set; } = 6;
        public virtual int MaxSeqNumber { get; set; } = 0;
        public virtual ushort MinSeqNumber { get; set; } = 5;
        public virtual int TopOverCostCount { get; set; } = 2000;
    }
}
